/*
 * assembler.h
 *
 *  Created on: May 11, 2014
 *      Author: Hercules
 */

#ifndef ASSEMBLER_H_
#define ASSEMBLER_H_
#include "lexicalAnalyser.h"
#include "assembler.h"

//Tabela de simbolos
typedef struct symbol {
	char label[101];
	int isDefined;
	short value;
	struct symbol* next;
} SymbolTable;


SymbolTable* firstPass(FILE* program_file);
void secondPass(FILE* program_file, SymbolTable* symbol_tb, FILE* obj_file);
SymbolTable* insertDeclarationSymbol(Token* token, SymbolTable* symbol_tb,
		short memory_counter);
SymbolTable* insertArgumentSymbol(Token* token, SymbolTable* symbol_tb);

#endif /* ASSEMBLER_H_ */
